package xs.szw.service.model.pojo.oa;

import com.baomidou.mybatisplus.annotation.*;

import java.io.Serializable;
import java.util.Date;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

/**
 * 审批模板
 * @author asus
 * @TableName oa_process_template
 */
@Schema(description = "审批模板")
@TableName(value ="oa_process_template")
@Data
public class ProcessTemplate implements Serializable {
    /**
     * 角色id
     */
    @Schema(description = "角色id")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 模板名称
     */
    @Schema(description = "模板名称")
    @TableField(value = "name")
    private String name;

    /**
     * 图标路径
     */
    @Schema(description = "图标路径")
    @TableField(value = "icon_url")
    private String iconUrl;

    /**
     * 
     */
    @Schema(description = "")
    @TableField(value = "process_type_id")
    private String processTypeId;

    /**
     * 表单属性
     */
    @Schema(description = "表单属性")
    @TableField(value = "form_props")
    private String formProps;

    /**
     * 表单选项
     */
    @Schema(description = "表单选项")
    @TableField(value = "form_options")
    private String formOptions;

    /**
     * 流程定义key
     */
    @Schema(description = "流程定义key")
    @TableField(value = "process_definition_key")
    private String processDefinitionKey;

    /**
     * 流程定义上传路径
     */
    @Schema(description = "流程定义上传路径")
    @TableField(value = "process_definition_path")
    private String processDefinitionPath;

    /**
     * 流程定义模型id
     */
    @Schema(description = "流程定义模型id")
    @TableField(value = "process_model_id")
    private String processModelId;

    /**
     * 描述
     */
    @Schema(description = "描述")
    @TableField(value = "description")
    private String description;

    /**
     * 
     */
    @Schema(description = "")
    @TableField(value = "status")
    private Integer status;

    /**
     * 创建时间
     */
    @Schema(description = "创建时间")
    @TableField(value = "create_time")
    private Date createTime;

    /**
     * 更新时间
     */
    @Schema(description = "更新时间")
    @TableField(value = "update_time")
    private Date updateTime;

    /**
     * 删除标记（0:不可用 1:可用）
     */
    @Schema(description = "删除标记（0:不可用 1:可用）")
    @TableField(value = "is_deleted")
    @TableLogic
    private Integer isDeleted;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}